<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    // 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ，请你返回一个长度为 2 的列表 answer ，其中：
    // answer[0] 是 nums1 中所有 不 存在于 nums2 中的 不同 整数组成的列表。
    // answer[1] 是 nums2 中所有 不 存在于 nums1 中的 不同 整数组成的列表。
    // 注意：列表中的整数可以按 任意 顺序返回。
    function findDifference(nums1, nums2) {
        // 去重
        nums1 = Array.from(new Set(nums1))
        nums2 = Array.from(new Set(nums2))
        // 求 arr1 中所有 不 存在于 arr2 中的 不同 整数组成的列表
        const findDiffArr = (arr1, arr2) => {
            let map = {}
            let res = []
            // 先记录 arr2 中都有啥
            for (let i = 0; i < arr2.length; ++i) {
                map[arr2[i]] = true
            }
            // 遍历 arr1 找到 arr2 中没有的
            for (let i = 0; i < arr1.length; ++i) {
                if (!map[arr1[i]]) res.push(arr1[i])
            }
            return res
        }
        return [
            findDiffArr(nums1, nums2),
            findDiffArr(nums2, nums1)
        ]
    };
    console.log(findDifference([1,3,5,7],[1,2,3,4,5]));

</script>